(in-package :common-lisp-user)

(defpackage :graph-model
  (:use :common-lisp)
  (:export
   #:arc
   #:weight-mixin
   #:label-mixin
   #:oriented-mixin
   #:num-mixin
   #:oriented-p
   #:graph
   #:graph-nodes
   #:graph-arcs
   #:weight
   #:label
   #:origin
   #:extremity
   #:num
   #:graph-out-arcs
   #:node-out-arcs
   #:node
   #:graph-show
   #:set-nodes-weight
   #:unset-nodes-weight
   #:set-arcs-weight
   #:unset-arcs-weight
   #:change-weight
   #:get-nodes
   #:*plus-infinity*
   #:*minus-infinity*
   #:make-graph
   #:find-add-node
   #:graph-create-arc
   #:graph-unmark-all-nodes
   #:graph-unmark-all-arcs
   #:node-marked-p
   #:mark-node
   #:unmark-node
   #:*oriented*
   #:node-in-arcs
   #:graph-edges
   #:minimal-object
   #:compare-arcs
   #:arc-remove
   #:arc-subsetp
   #:arc-set-difference
   #:arc-delete-duplicates
   #:arc-remove-duplicates
   #:arc-union
   #:arc-member
   #:inverse-arc
   #:node-remove
   #:node-subsetp
   #:node-set-difference
   #:node-delete-duplicates
   #:node-remove-duplicates
   #:node-union
   #:node-member
   #:graph-subgraph
   #:make-path
   #:path-arcs
   #:path-cons
   #:path-cycle-p
   #:out-neighbours
   #:in-neighbours
   ))
